//////////////////////////////////////
// Fast Container Library           //
// MIT License - Copyright (c) 2012 //
//////////////////////////////////////

#pragma once

#include "fixed_vector.h"
#include "queue.h"


FC_NAMESPACE_BEGIN


template <class T, size_t N, class Container>
class fixed_queue : public queue<T, Container>
{
public:
	typedef fixed_queue<T, N, Container>			this_type;
	typedef queue<T, Container>						base_type;
	typedef typename base_type::container_type		container_type;
	typedef typename base_type::pointer				pointer;

	using base_type::c;

	fixed_queue()
		: base_type()
		{
		}

	fixed_queue( const Container& container )
		: base_type(container)
		{
		}

	bool has_overflowed() const
	{
		return c.has_overflowed();
	}

	void reset()
	{
		c.reset();
	}

	void init()
	{
		c.init();
	}

	pointer get_buffer() const
	{
		return c.get_buffer();
	}

};



FC_NAMESPACE_END
